<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
    <script type="text/javascript">
    jQuery(function($){
		$('#msaTable').datagrid({
			title:'数据字典',//标题
			method:'post',
			iconCls:'icon-edit',//图标
			singleSelect:false,//多选
			fitColumns: true,//自动调整各列，用了这个属性，下面各列的宽度值就只是一个比例。
			striped: true,//奇偶行颜色不同
			collapsible:false,//可折叠
			sortName: 'kindid', //排序的列
			sortOrder: 'desc', //倒序
			remoteSort: true, //服务器端排序
			idField:'id', //主键字段
			queryParams:{}, //查询条件
			pagination:true, //显示分页
			rownumbers:true, //显示行号
			columns:[[
				{field:'ck',checkbox:true,width:2}, //显示复选框
				{field:'msa.id',title:'ID',width:20,sortable:true,
					formatter:function(value,row,index){
						return row.id;} //需要formatter一下才能显示正确的数据
				},
				{field:'msa.namea',title:'值',width:20,sortable:true,
					formatter:function(value,row,index){return row.namea;}
				},
				{field:'msa.kindid',title:'分类ID',width:20,sortable:true,
					formatter:function(value,row,index){return row.kindid;}
				},
				{field:'msa.namek',title:'分类名称',width:20,sortable:true,
					formatter:function(value,row,index){return row.namek;}
				},
				{field:'msa.sort',title:'排序',width:20,sortable:true,
					formatter:function(value,row,index){return row.sort;}
				},
				{field:'msa.reserve01',title:'扩展',width:20,sortable:true,
					formatter:function(value,row,index){return row.reserve01;}
				},
				{field:'msa.creatdatetime',title:'创建日时',width:20,sortable:true,
					formatter:function(value,row,index){return row.creatdatetime;}
				},
				{field:'msa.creatuserid',title:'创建者',width:20,sortable:true,
					formatter:function(value,row,index){return row.creatuserid;}
				}
			]],
			toolbar:[{
				text:'新增',
				iconCls:'icon-add',
				handler:function(){
					addrow();
				}
			},'-',{
				text:'更新',
				iconCls:'icon-edit',
				handler:function(){
					updaterow();
				}
			},'-',{
				text:'删除',
				iconCls:'icon-remove',
				handler:function(){
					deleterow();
				}
			},'-'],
			onLoadSuccess:function(){
				$('#msaTable').datagrid('clearSelections'); //一定要加上这一句，要不然datagrid会记住之前的选择状态，删除时会出问题
			}
		});
    	
		//下拉表格初始化，这个东西在ajax下要尽量少用，太变态了，每加载一次就会重新创建一次，隐藏在页面上，
		//时间一长效率很低，用firebug一看页面上有几十个同样的层保存着下拉框中的内容，只有整个页面全部刷新才清除。
		//不知道新版本修正了没有，我目前的做法是点击菜单的时候手动清除一下。
		$('#deptCombo').combogrid({
			idField:'id', //ID字段
		    textField:'name',//显示的字段
		    url:"dept/queryAll",
		    fitColumns: true,
			striped: true,
			editable:false,//不可编辑，只能选择
		    columns:[[
		        {field:'code',title:'编号',width:100},
		        {field:'name',title:'名称',width:150}
		    ]]
		});

	});
    //新增
    function addrow(){
    	showWindow({
  			title:'增加字典',
  			href:'msa/msaAddWindow',
  			width:500,
  			height:350,
  			onLoad: function(){
  				$('#msaForm').form('clear');
  				$('#oper').val(1);
  				$('#creatuserid').val('<sec:authentication property="name"/>');
  			}
  		});
	}
    //更新
    function updaterow(){
		var rows = $('#msaTable').datagrid('getSelections');
		//这里有一个jquery easyui datagrid的一个小bug，必须把主键单独列出来，要不然不能多选
		if(rows.length==0){
			$.messager.alert('提示',"请选择你要更新的用户",'info');
			return;
		}
		if(rows.length > 1){
			$.messager.alert('提示',"只能选择一位用户进行更新",'info');
			return;
		}
		showWindow({
  			title:'更新字典',
  			href:'msa/msaUpdateWindow',
  			width:500,
  			height:350,
  			onLoad: function(){
 			rows[0]["creatuserid"] = '<sec:authentication property="name"/>';
  			//自动将数据填充到表单中，无需再查询数据库，这里需要注意：
  			//spring mvc中表单元素的名称不带对象前缀，直拉就是id，所以这里load的时候是：.form('load', rows[0].user)
  			$("#msaForm").form('load', rows[0]);
  			$('#oper').val(0);
  			}
  		});
	}
  	
    //删除
  	function deleterow(){
  		$.messager.confirm('提示','确定要删除吗?',function(result){
	        if (result){
	        	var rows = $('#msaTable').datagrid('getSelections');
	        	var ps = "";
	        	$.each(rows,function(i,n){
	        		if(i==0) 
	        			ps += "?json=[{'id':"+n.id+",'kindid':"+n.kindid+"}";
	        		else
	        			ps += ",{'id':"+n.id+",'kindid':"+n.kindid+"}";
	        	});
	        	ps=ps+"]";
	        	$.post('msa/delete'+ps,function(data){
		        	$('#msaTable').datagrid('reload'); 
	        		$.messager.alert('提示',data.mes,'info');
	        	});
	        }
	    });
  	}
    
    //表格查询
	function searchUser(){
		var params = $('#msaTable').datagrid('options').queryParams;//先取得 datagrid的查询参数
		var fields =$('#queryForm').serializeArray();//自动序列化表单元素为JSON对象
		$.each( fields, function(i, field){
			params[field.name] = field.value;//设置查询参数
		}); 
		$('#msaTable').datagrid({url:"msa/queryList"});
	}
	//清空查询条件
	function clearForm(){
		$('#queryForm').form('clear');
		searchUser();
	}
	</script>	
<div class="demo-info">
		<div class="demo-tip icon-tip"></div>
		<div>修改或添加后需重启服务方可生效.</div>
	</div>
   <form id="queryForm" style="margin:10;text-align: center;">
	<table width="100%">
		<tr><td>小分类名称：</td>
		<td><input id="namea" name="namea" style="width: 200"></input></td>
		<td>大分类：</td><td><input id="kindid" name="kindid" style="width: 200"></input></td>
		<td align="center"><a href="#" onclick="clearForm();" class="easyui-linkbutton" iconCls="icon-search">清空</a></td>
		</tr>
		<tr>
		<td>大分类名称：</td><td><input id="namek" name="namek" style="width: 200"></input></td>
		<td colspan="2"></td>
		<td align="center"><a href="#" onclick="searchUser();" class="easyui-linkbutton" iconCls="icon-search">查询</a></td>
		</tr>
	</table>
  </form>
  <div style="padding:10" id="tabdiv">
	<table id="msaTable"></table>
  </div>